package com.ourteam.education.dao;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;
/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 CST 2017
 * Auto Generate Date : 2019-09-22 15:15:08
  * Warning ! This file will be overwrite when regenerate !
  * 
 */
public class CourseItemRelateDAOQueryBean extends BaseQueryBean {
    
    public CourseItemRelateDAOQueryBean() {
		super();
    }
	
    public CourseItemRelateDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }
    
    public CourseItemRelateDAOQueryBean(BaseQueryBean aQueryBean,Map tableReplaceMap) {
        super(aQueryBean,tableReplaceMap);
    }
    
    public Criteria createCriteria() {
        
	    Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
                  oredCriteria.add(criteria);
            }
        return criteria;
     }
	
    protected Criteria createCriteriaInternal() {
	  return new Criteria(this);
    }
    
        
        
    	
		
	    
    public void addIdSelectProperty(){
		addIdSelectProperty("id");
	}
	
    public void addIdSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemRelateDAO.Id,aAlias);
		}
		else{
			addSelectProperty(ICourseItemRelateDAO.Id,"id");
	    }
    }
    
       
		
		
	    
    public void addCourseIdSelectProperty(){
		addCourseIdSelectProperty("courseId");
	}
	
    public void addCourseIdSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemRelateDAO.CourseId,aAlias);
		}
		else{
			addSelectProperty(ICourseItemRelateDAO.CourseId,"courseId");
	    }
    }
    
       
		
		
	    
    public void addCourseItemIdSelectProperty(){
		addCourseItemIdSelectProperty("courseItemId");
	}
	
    public void addCourseItemIdSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemRelateDAO.CourseItemId,aAlias);
		}
		else{
			addSelectProperty(ICourseItemRelateDAO.CourseItemId,"courseItemId");
	    }
    }
    
       
		
		
	    
    public void addStatusSelectProperty(){
		addStatusSelectProperty("status");
	}
	
    public void addStatusSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemRelateDAO.Status,aAlias);
		}
		else{
			addSelectProperty(ICourseItemRelateDAO.Status,"status");
	    }
    }
    
       
		
		
	    
    public void addRemarksSelectProperty(){
		addRemarksSelectProperty("remarks");
	}
	
    public void addRemarksSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemRelateDAO.Remarks,aAlias);
		}
		else{
			addSelectProperty(ICourseItemRelateDAO.Remarks,"remarks");
	    }
    }
    
       
		
		
	public void addAllSelectProperties(){
		
		
	    addIdSelectProperty();
   
		
		
	    addCourseIdSelectProperty();
   
		
		
	    addCourseItemIdSelectProperty();
   
		
		
	    addStatusSelectProperty();
   
		
		
	    addRemarksSelectProperty();
   
		
	    }
    
    public static class Criteria extends BaseWhereCriterion<CourseItemRelateDAOQueryBean> {
	
        protected Criteria(CourseItemRelateDAOQueryBean aParentObject) {
		    super(aParentObject);
        }
        
                  
            	
    	    	
    	        
                
        public Criteria andIdIsNull() {
            addCriterion(ICourseItemRelateDAO.Id + " is null");
            return this;
        }
        public Criteria andIdIsNotNull() {
            addCriterion(ICourseItemRelateDAO.Id + " is not null");
            return this;
        }
    
        public Criteria andIdIsNotEmpty() {        
            addCriterion(ICourseItemRelateDAO.Id + " is not null AND " + ICourseItemRelateDAO.Id + " <> ''");
            return this;
        }
    		
    	public Criteria andIdIsEmpty() {       
            addCriterion("(" + ICourseItemRelateDAO.Id + " is null OR " + ICourseItemRelateDAO.Id + " = '')");
            return this;
        }
        
                
                        
                        
                                
        public Criteria andIdEqualTo(long value) {
        	return andIdEqualTo(Long.valueOf(value));
        }
               public Criteria andIdEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.Id + " = ", value, "id");
            return this;
        }
        
        public Criteria andIdEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Id);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " = ", subQueryBean, dao);
			return this;
		}
                
        public Criteria andIdNotEqualTo(long value) {
        	return andIdNotEqualTo(Long.valueOf(value));
        }
                public Criteria andIdNotEqualTo(java.lang.Long value) {
        	        
            addCriterion(ICourseItemRelateDAO.Id + " <>", value, "id");
            return this;
        }
               
        public Criteria andIdNotEqualToOrIsNull(long value) {
        	return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }
                
        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
        	        
            addCriterion(ICourseItemRelateDAO.Id + " is null OR " + ICourseItemRelateDAO.Id + " <>", value, "id");
            return this;
        }
        
        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Id);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " <> ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andIdGreaterThan(long value) {
        	return andIdGreaterThan(Long.valueOf(value));
        }
                public Criteria andIdGreaterThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.Id + " >", value, "id");
            return this;
        }
        
        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Id);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " > ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andIdGreaterThanOrEqualTo(long value) {
        	return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.Id + " >=", value, "id");
            return this;
        }
        
        public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Id);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " >= ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andIdLessThan(long value) {
        	return andIdLessThan(Long.valueOf(value));
        }
                public Criteria andIdLessThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.Id + " <", value, "id");
            return this;
        }
        
        public Criteria andIdLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Id);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " < ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andIdLessThanOrEqualTo(long value) {
        	return andIdLessThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.Id + " <=", value, "id");
            return this;
        }
        
        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Id);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " <= ", subQueryBean, dao);
			return this;
		}
		
		        
                
        public Criteria andIdIn(long[] values) {
        	if(values.length == 1){
        		return andIdEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Id + " in", values, "id");
            	return this;
            }
        }
        
        public Criteria andIdNotIn(long[] values) {
        	if(values.length == 1){
        		return andIdNotEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Id + " not in", values, "id");
            	return this;
            }
        }
        
                public Criteria andIdIn(List<java.lang.Long> values) {
        	
        	if(values.size() == 1){
        		return andIdEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Id + " in", values, "id");
            	return this;
            }
        }
        public Criteria andIdNotIn(List<java.lang.Long> values) {
        	if(values.size() == 1){
        		return andIdNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Id + " not in", values, "id");
            	return this;
            }
        }
        
        public Criteria andIdIn(java.lang.Long[] values) {
        	
        	if(values.length == 1){
        		return andIdEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Id + " in", Arrays.asList(values), "id");
            	return this;
            }
        }
        public Criteria andIdNotIn(java.lang.Long[] values) {
        	if(values.length == 1){
        		return andIdNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Id + " not in", Arrays.asList(values), "id");
            	return this;
            }
        }
		
		public Criteria andIdIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andIdNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Id + " not in ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andIdBetween(long value1,long value2) {
        	addCriterion(ICourseItemRelateDAO.Id + " between", value1, value2, "id");
            return this;
        }
                public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemRelateDAO.Id + " between", value1, value2, "id");
            return this;
        }
        
                
        public Criteria andIdNotBetween(long value1,long value2) {
        	addCriterion(ICourseItemRelateDAO.Id + " not between", value1, value2, "id");
            return this;
        }
                public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemRelateDAO.Id + " not between", value1, value2, "id");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andCourseIdIsNull() {
            addCriterion(ICourseItemRelateDAO.CourseId + " is null");
            return this;
        }
        public Criteria andCourseIdIsNotNull() {
            addCriterion(ICourseItemRelateDAO.CourseId + " is not null");
            return this;
        }
    
        public Criteria andCourseIdIsNotEmpty() {        
            addCriterion(ICourseItemRelateDAO.CourseId + " is not null AND " + ICourseItemRelateDAO.CourseId + " <> ''");
            return this;
        }
    		
    	public Criteria andCourseIdIsEmpty() {       
            addCriterion("(" + ICourseItemRelateDAO.CourseId + " is null OR " + ICourseItemRelateDAO.CourseId + " = '')");
            return this;
        }
        
                
                        
                        
                                
        public Criteria andCourseIdEqualTo(long value) {
        	return andCourseIdEqualTo(Long.valueOf(value));
        }
               public Criteria andCourseIdEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseId + " = ", value, "courseId");
            return this;
        }
        
        public Criteria andCourseIdEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseId);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseIdEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " = ", subQueryBean, dao);
			return this;
		}
                
        public Criteria andCourseIdNotEqualTo(long value) {
        	return andCourseIdNotEqualTo(Long.valueOf(value));
        }
                public Criteria andCourseIdNotEqualTo(java.lang.Long value) {
        	        
            addCriterion(ICourseItemRelateDAO.CourseId + " <>", value, "courseId");
            return this;
        }
               
        public Criteria andCourseIdNotEqualToOrIsNull(long value) {
        	return andCourseIdNotEqualToOrIsNull(Long.valueOf(value));
        }
                
        public Criteria andCourseIdNotEqualToOrIsNull(java.lang.Long value) {
        	        
            addCriterion(ICourseItemRelateDAO.CourseId + " is null OR " + ICourseItemRelateDAO.CourseId + " <>", value, "courseId");
            return this;
        }
        
        public Criteria andCourseIdNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseId);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseIdNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " <> ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andCourseIdGreaterThan(long value) {
        	return andCourseIdGreaterThan(Long.valueOf(value));
        }
                public Criteria andCourseIdGreaterThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseId + " >", value, "courseId");
            return this;
        }
        
        public Criteria andCourseIdGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseId);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseIdGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " > ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andCourseIdGreaterThanOrEqualTo(long value) {
        	return andCourseIdGreaterThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andCourseIdGreaterThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseId + " >=", value, "courseId");
            return this;
        }
        
        public Criteria andCourseIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseId);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " >= ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andCourseIdLessThan(long value) {
        	return andCourseIdLessThan(Long.valueOf(value));
        }
                public Criteria andCourseIdLessThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseId + " <", value, "courseId");
            return this;
        }
        
        public Criteria andCourseIdLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseId);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseIdLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " < ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andCourseIdLessThanOrEqualTo(long value) {
        	return andCourseIdLessThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andCourseIdLessThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseId + " <=", value, "courseId");
            return this;
        }
        
        public Criteria andCourseIdLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseId);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " <= ", subQueryBean, dao);
			return this;
		}
		
		        
                
        public Criteria andCourseIdIn(long[] values) {
        	if(values.length == 1){
        		return andCourseIdEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseId + " in", values, "courseId");
            	return this;
            }
        }
        
        public Criteria andCourseIdNotIn(long[] values) {
        	if(values.length == 1){
        		return andCourseIdNotEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseId + " not in", values, "courseId");
            	return this;
            }
        }
        
                public Criteria andCourseIdIn(List<java.lang.Long> values) {
        	
        	if(values.size() == 1){
        		return andCourseIdEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseId + " in", values, "courseId");
            	return this;
            }
        }
        public Criteria andCourseIdNotIn(List<java.lang.Long> values) {
        	if(values.size() == 1){
        		return andCourseIdNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseId + " not in", values, "courseId");
            	return this;
            }
        }
        
        public Criteria andCourseIdIn(java.lang.Long[] values) {
        	
        	if(values.length == 1){
        		return andCourseIdEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseId + " in", Arrays.asList(values), "courseId");
            	return this;
            }
        }
        public Criteria andCourseIdNotIn(java.lang.Long[] values) {
        	if(values.length == 1){
        		return andCourseIdNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseId + " not in", Arrays.asList(values), "courseId");
            	return this;
            }
        }
		
		public Criteria andCourseIdIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andCourseIdNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseId + " not in ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andCourseIdBetween(long value1,long value2) {
        	addCriterion(ICourseItemRelateDAO.CourseId + " between", value1, value2, "courseId");
            return this;
        }
                public Criteria andCourseIdBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemRelateDAO.CourseId + " between", value1, value2, "courseId");
            return this;
        }
        
                
        public Criteria andCourseIdNotBetween(long value1,long value2) {
        	addCriterion(ICourseItemRelateDAO.CourseId + " not between", value1, value2, "courseId");
            return this;
        }
                public Criteria andCourseIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemRelateDAO.CourseId + " not between", value1, value2, "courseId");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andCourseItemIdIsNull() {
            addCriterion(ICourseItemRelateDAO.CourseItemId + " is null");
            return this;
        }
        public Criteria andCourseItemIdIsNotNull() {
            addCriterion(ICourseItemRelateDAO.CourseItemId + " is not null");
            return this;
        }
    
        public Criteria andCourseItemIdIsNotEmpty() {        
            addCriterion(ICourseItemRelateDAO.CourseItemId + " is not null AND " + ICourseItemRelateDAO.CourseItemId + " <> ''");
            return this;
        }
    		
    	public Criteria andCourseItemIdIsEmpty() {       
            addCriterion("(" + ICourseItemRelateDAO.CourseItemId + " is null OR " + ICourseItemRelateDAO.CourseItemId + " = '')");
            return this;
        }
        
                
                        
                        
                                
        public Criteria andCourseItemIdEqualTo(long value) {
        	return andCourseItemIdEqualTo(Long.valueOf(value));
        }
               public Criteria andCourseItemIdEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseItemId + " = ", value, "courseItemId");
            return this;
        }
        
        public Criteria andCourseItemIdEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseItemId);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemIdEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " = ", subQueryBean, dao);
			return this;
		}
                
        public Criteria andCourseItemIdNotEqualTo(long value) {
        	return andCourseItemIdNotEqualTo(Long.valueOf(value));
        }
                public Criteria andCourseItemIdNotEqualTo(java.lang.Long value) {
        	        
            addCriterion(ICourseItemRelateDAO.CourseItemId + " <>", value, "courseItemId");
            return this;
        }
               
        public Criteria andCourseItemIdNotEqualToOrIsNull(long value) {
        	return andCourseItemIdNotEqualToOrIsNull(Long.valueOf(value));
        }
                
        public Criteria andCourseItemIdNotEqualToOrIsNull(java.lang.Long value) {
        	        
            addCriterion(ICourseItemRelateDAO.CourseItemId + " is null OR " + ICourseItemRelateDAO.CourseItemId + " <>", value, "courseItemId");
            return this;
        }
        
        public Criteria andCourseItemIdNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseItemId);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemIdNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " <> ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andCourseItemIdGreaterThan(long value) {
        	return andCourseItemIdGreaterThan(Long.valueOf(value));
        }
                public Criteria andCourseItemIdGreaterThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseItemId + " >", value, "courseItemId");
            return this;
        }
        
        public Criteria andCourseItemIdGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseItemId);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemIdGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " > ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andCourseItemIdGreaterThanOrEqualTo(long value) {
        	return andCourseItemIdGreaterThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andCourseItemIdGreaterThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseItemId + " >=", value, "courseItemId");
            return this;
        }
        
        public Criteria andCourseItemIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseItemId);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " >= ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andCourseItemIdLessThan(long value) {
        	return andCourseItemIdLessThan(Long.valueOf(value));
        }
                public Criteria andCourseItemIdLessThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseItemId + " <", value, "courseItemId");
            return this;
        }
        
        public Criteria andCourseItemIdLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseItemId);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemIdLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " < ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andCourseItemIdLessThanOrEqualTo(long value) {
        	return andCourseItemIdLessThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andCourseItemIdLessThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemRelateDAO.CourseItemId + " <=", value, "courseItemId");
            return this;
        }
        
        public Criteria andCourseItemIdLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.CourseItemId);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " <= ", subQueryBean, dao);
			return this;
		}
		
		        
                
        public Criteria andCourseItemIdIn(long[] values) {
        	if(values.length == 1){
        		return andCourseItemIdEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseItemId + " in", values, "courseItemId");
            	return this;
            }
        }
        
        public Criteria andCourseItemIdNotIn(long[] values) {
        	if(values.length == 1){
        		return andCourseItemIdNotEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseItemId + " not in", values, "courseItemId");
            	return this;
            }
        }
        
                public Criteria andCourseItemIdIn(List<java.lang.Long> values) {
        	
        	if(values.size() == 1){
        		return andCourseItemIdEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseItemId + " in", values, "courseItemId");
            	return this;
            }
        }
        public Criteria andCourseItemIdNotIn(List<java.lang.Long> values) {
        	if(values.size() == 1){
        		return andCourseItemIdNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseItemId + " not in", values, "courseItemId");
            	return this;
            }
        }
        
        public Criteria andCourseItemIdIn(java.lang.Long[] values) {
        	
        	if(values.length == 1){
        		return andCourseItemIdEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseItemId + " in", Arrays.asList(values), "courseItemId");
            	return this;
            }
        }
        public Criteria andCourseItemIdNotIn(java.lang.Long[] values) {
        	if(values.length == 1){
        		return andCourseItemIdNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.CourseItemId + " not in", Arrays.asList(values), "courseItemId");
            	return this;
            }
        }
		
		public Criteria andCourseItemIdIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andCourseItemIdNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.CourseItemId + " not in ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andCourseItemIdBetween(long value1,long value2) {
        	addCriterion(ICourseItemRelateDAO.CourseItemId + " between", value1, value2, "courseItemId");
            return this;
        }
                public Criteria andCourseItemIdBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemRelateDAO.CourseItemId + " between", value1, value2, "courseItemId");
            return this;
        }
        
                
        public Criteria andCourseItemIdNotBetween(long value1,long value2) {
        	addCriterion(ICourseItemRelateDAO.CourseItemId + " not between", value1, value2, "courseItemId");
            return this;
        }
                public Criteria andCourseItemIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemRelateDAO.CourseItemId + " not between", value1, value2, "courseItemId");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andStatusIsNull() {
            addCriterion(ICourseItemRelateDAO.Status + " is null");
            return this;
        }
        public Criteria andStatusIsNotNull() {
            addCriterion(ICourseItemRelateDAO.Status + " is not null");
            return this;
        }
    
        public Criteria andStatusIsNotEmpty() {        
            addCriterion(ICourseItemRelateDAO.Status + " is not null AND " + ICourseItemRelateDAO.Status + " <> ''");
            return this;
        }
    		
    	public Criteria andStatusIsEmpty() {       
            addCriterion("(" + ICourseItemRelateDAO.Status + " is null OR " + ICourseItemRelateDAO.Status + " = '')");
            return this;
        }
        
                
                        
                        
                               public Criteria andStatusEqualTo(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Status + " = ", value, "status");
            return this;
        }
        
        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Status);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " = ", subQueryBean, dao);
			return this;
		}
                public Criteria andStatusNotEqualTo(String value) {
        	        
            addCriterion(ICourseItemRelateDAO.Status + " <>", value, "status");
            return this;
        }
               
        public Criteria andStatusNotEqualToOrIsNull(String value) {
        	        
            addCriterion(ICourseItemRelateDAO.Status + " is null OR " + ICourseItemRelateDAO.Status + " <>", value, "status");
            return this;
        }
        
        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Status);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " <> ", subQueryBean, dao);
			return this;
		}
               public Criteria andStatusGreaterThan(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Status + " >", value, "status");
            return this;
        }
        
        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Status);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " > ", subQueryBean, dao);
			return this;
		}
               public Criteria andStatusGreaterThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Status + " >=", value, "status");
            return this;
        }
        
        public Criteria andStatusGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Status);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " >= ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andStatusLessThan(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Status + " <", value, "status");
            return this;
        }
        
        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Status);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " < ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andStatusLessThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Status + " <=", value, "status");
            return this;
        }
        
        public Criteria andStatusLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Status);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " <= ", subQueryBean, dao);
			return this;
		}
		
				
        public Criteria andStatusLike(String value) {
        	StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemRelateDAO.Status + " like", buffer.toString(), "status");
            return this;
        }
        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemRelateDAO.Status + " not like", buffer.toString(), "status");
            return this;
        }
                
                public Criteria andStatusIn(List<String> values) {
        	
        	if(values.size() == 1){
        		return andStatusEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Status + " in", values, "status");
            	return this;
            }
        }
        public Criteria andStatusNotIn(List<String> values) {
        	if(values.size() == 1){
        		return andStatusNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Status + " not in", values, "status");
            	return this;
            }
        }
        
        public Criteria andStatusIn(String[] values) {
        	
        	if(values.length == 1){
        		return andStatusEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Status + " in", Arrays.asList(values), "status");
            	return this;
            }
        }
        public Criteria andStatusNotIn(String[] values) {
        	if(values.length == 1){
        		return andStatusNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Status + " not in", Arrays.asList(values), "status");
            	return this;
            }
        }
		
		public Criteria andStatusIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Status + " not in ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(ICourseItemRelateDAO.Status + " between", value1, value2, "status");
            return this;
        }
        
                public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(ICourseItemRelateDAO.Status + " not between", value1, value2, "status");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andRemarksIsNull() {
            addCriterion(ICourseItemRelateDAO.Remarks + " is null");
            return this;
        }
        public Criteria andRemarksIsNotNull() {
            addCriterion(ICourseItemRelateDAO.Remarks + " is not null");
            return this;
        }
    
        public Criteria andRemarksIsNotEmpty() {        
            addCriterion(ICourseItemRelateDAO.Remarks + " is not null AND " + ICourseItemRelateDAO.Remarks + " <> ''");
            return this;
        }
    		
    	public Criteria andRemarksIsEmpty() {       
            addCriterion("(" + ICourseItemRelateDAO.Remarks + " is null OR " + ICourseItemRelateDAO.Remarks + " = '')");
            return this;
        }
        
                
                        
                        
                               public Criteria andRemarksEqualTo(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Remarks + " = ", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Remarks);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " = ", subQueryBean, dao);
			return this;
		}
                public Criteria andRemarksNotEqualTo(String value) {
        	        
            addCriterion(ICourseItemRelateDAO.Remarks + " <>", value, "remarks");
            return this;
        }
               
        public Criteria andRemarksNotEqualToOrIsNull(String value) {
        	        
            addCriterion(ICourseItemRelateDAO.Remarks + " is null OR " + ICourseItemRelateDAO.Remarks + " <>", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Remarks);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " <> ", subQueryBean, dao);
			return this;
		}
               public Criteria andRemarksGreaterThan(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Remarks + " >", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Remarks);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " > ", subQueryBean, dao);
			return this;
		}
               public Criteria andRemarksGreaterThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Remarks + " >=", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Remarks);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " >= ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andRemarksLessThan(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Remarks + " <", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Remarks);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " < ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andRemarksLessThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemRelateDAO.Remarks + " <=", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemRelateDAO.Remarks);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " <= ", subQueryBean, dao);
			return this;
		}
		
				
        public Criteria andRemarksLike(String value) {
        	StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemRelateDAO.Remarks + " like", buffer.toString(), "remarks");
            return this;
        }
        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemRelateDAO.Remarks + " not like", buffer.toString(), "remarks");
            return this;
        }
                
                public Criteria andRemarksIn(List<String> values) {
        	
        	if(values.size() == 1){
        		return andRemarksEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Remarks + " in", values, "remarks");
            	return this;
            }
        }
        public Criteria andRemarksNotIn(List<String> values) {
        	if(values.size() == 1){
        		return andRemarksNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Remarks + " not in", values, "remarks");
            	return this;
            }
        }
        
        public Criteria andRemarksIn(String[] values) {
        	
        	if(values.length == 1){
        		return andRemarksEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Remarks + " in", Arrays.asList(values), "remarks");
            	return this;
            }
        }
        public Criteria andRemarksNotIn(String[] values) {
        	if(values.length == 1){
        		return andRemarksNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemRelateDAO.Remarks + " not in", Arrays.asList(values), "remarks");
            	return this;
            }
        }
		
		public Criteria andRemarksIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemRelateDAO.Remarks + " not in ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(ICourseItemRelateDAO.Remarks + " between", value1, value2, "remarks");
            return this;
        }
        
                public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(ICourseItemRelateDAO.Remarks + " not between", value1, value2, "remarks");
            return this;
        }
        
            	
    	    	
    	        
        
    }
	
    
}